Golang Job: Devops-Infrastructure Engineer

Job added on

Location

Plano, TX - United States of America

Job type

Full-Time

Golang Job Details

Title: DevOps Engineer/Infrastructure Engineer/SRE Engineer
Type: Contract W2 Only!!
Location: Plano, Texas (Manager prefers local candidates since they will have to be on-site whenever needed.)
Contract to Hire: Long-term, extended, or converted based on performance

Pay rate: $55-75 per hour

Job Description:

Attractive Job Features:

  • Ambitious project breaking new ground in the fields of automation and security testing
  • Legitimate use case to build Kubernetes-native system, leveraging ReactJS and Go, deployed in the cloud, communicating with an on-prem lab network

Project:

  • Put entire vehicles worth of electronic control units (ECUs) into racks
  • Connect arbitrary combinations of these ECUs as if they had been physically connected without moving any wires through SDN
  • Use containerization to reliably deploy and execute tests leveraging this “virtual harness”
  • Deploy instances of this environment in multiple continents
  • Client is building a test automation solution for vehicle compute components.
  • Dozens of individual embedded systems are integrated to form a complete vehicle.
  • A virtual harness is required to combine subsets of these components into integrated systems in arbitrary integrated subsets while providing complete by-component visibility into received and emitted signals.
  • Because repeatability and consistency are critical, integration components should be largely or entirely ephemeral to ensure they execute the same way every time.
  • The execution of this infrastructure as code should be scalable to include an arbitrary number of devices, and not depend on any specialized hardware.
  • A combination of COTS and custom components will be used to instrument ECUs added to the environment.
  • The role of these instrumentation components is to be slaved to the ephemeral virtual harness and provide the last mile communications with devices over their native communication protocols including multiplex protocols such as Controller Area Network (CAN) and Local Interconnect Network (LIN).
  • For global scalability, it should be possible to deploy and maintain installations on multiple continents with a consistent technology platform.
  • Lab implementation on top of the test automation platform will be localized, due the necessity for unique physical configurations, but the platform should be supportable at global scale.

Current Technology Direction:

  • Kubernetes-native, event-driven, application with ephemeral execution to dynamically tie together persistent physical harness components into software defined networks.
  • Data to be collected and shipped time-indexed to an enterprise search engine storing application logs alongside raw data including IP traffic and vehicle-domain multiplex communication content.
  • Supporting components, such as UIs and tools, are being developed as web applications and services and will be deployed to a public cloud.

Devops/Infrastructure Engineer:

  • We have opportunities from steel and copper, racking and cabling client’s lab, up through administration of ElasticSearch providing a persistent repository of test data.
  • Client’s network is segmented, and thus complex enough to substantially benefit from VLANs and needing a more attentive network administrator.
  • Client is currently seeking to reduce unnecessary complexity.
  • A small team and a rapidly maturing project requires broad responsibility, and broad experience across multiple domains.
  • Client is looking for someone with vision of how we should implement the infrastructure supporting the automation platform, and the ability to justify their ideas based on supportability, cost-effectiveness, and scalability.

Required:

  • 3 plus years’ experience in a role implementing DevOps (or DevSecOps) and/or Site Reliability Engineering (SRE) principles
  • Experience racking and cabling servers and networking gear in a production environment
  • Strong networking knowledge of TCP/IP, including standards such as 802.1Q and 802.3ad.
  • 3 plus years software development in a production environment, preferably in Go (“golang”), or JavaScript
  • Experience working with software containers, using tools such as Docker, Buildah, or Podman.
  • Experience working with container orchestration, i.e., Kubernetes
  • 3 plus years utilizing Git SCM
  • 3 plus years strong experience with Linux, including installation, administration, troubleshooting, etc.
  • 3 plus years’ experience using configuration management tools such as Ansible

Must Understand:

  • Virtualization vs containerization
  • OSI layers 1-7, Ethernet, and routing
  • Infrastructure-as-code
  • Physical equipment setup and layout
  • Redundancy and high availability
  • Storage Area Networks and iSCSI

Nice to have:

  • Geographic distribution patterns
  • VDI
  • Database architecture, e.g. sharding
  • In-depth knowledge of MQTT and HTTP protocols

RM Notes:

  • The team is responsible for building security software for web applications, mobile applications as well as vehicle applications.
  • They have a Security Testing Team that are responsible for testing these web, mobile and vehicle applications as well as they’re building a software to be able to automate this testing.
  • This team work on modern infrastructures and have physical hardware and servers rather than a cloud to store and retrieve data effectively.
  • The candidate will be responsible for physically plugging in the servers, racking, stacking, cabling, etc.
  • They should have full stack knowledge, that is, to be able to work from metal (physical hardware) to applications.
  • Manager would not prefer someone who has worked with enterprise clients but someone who has worked on breadth of technologies and hands-on.
  • They need someone who can come in, learn about the project and then provide solutions that are better than what the team is currently doing.
  • Manager prefers local candidates since they will have to be on-site whenever needed.

Interviews:

  • 1st round of video or phone interview
  • 2nd round of in-person most probably, to show the candidate about what the team is currently doing.